home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-04 / gs24src.zip / UNIX-CC.MAK < prev    next >
Makefile  |  1992-03-25  |  45KB  |  1,272 lines

  1. #    Copyright (C) 1989, 1992 Aladdin Enterprises.  All rights reserved.
  2. #    Distributed by Free Software Foundation, Inc.
  3. #
  4. # This file is part of Ghostscript.
  5. #
  6. # Ghostscript is distributed in the hope that it will be useful, but
  7. # WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
  8. # to anyone for the consequences of using it or for whether it serves any
  9. # particular purpose or works at all, unless he says so in writing.  Refer
  10. # to the Ghostscript General Public License for full details.
  11. #
  12. # Everyone is granted permission to copy, modify and redistribute
  13. # Ghostscript, but only under the conditions described in the Ghostscript
  14. # General Public License.  A copy of this license is supposed to have been
  15. # given to you along with Ghostscript so you can know your rights and
  16. # responsibilities.  It should be in a file named COPYING.  Among other
  17. # things, the copyright notice and this notice must be preserved on all
  18. # copies.
  19.  
  20. # makefile for Ghostscript, Unix/cc/X11 configuration.
  21.  
  22. # ------------------------------- Options ------------------------------- #
  23.  
  24. ####### The following are the only parts of the file you should need to edit.
  25.  
  26. # ------ Generic options ------ #
  27.  
  28. # Define the default directory/ies for the runtime
  29. # initialization and font files.  Separate multiple directories with a :.
  30. # `pwd` means use the directory in which the 'make' is being done.
  31.  
  32. GS_LIB_DEFAULT=`pwd`:`pwd`/fonts
  33.  
  34. # Define the name of the Ghostscript initialization file.
  35. # (There is no reason to change this.)
  36.  
  37. GS_INIT=gs_init.ps
  38.  
  39. # Choose generic configuration options.
  40.  
  41. # -DDEBUG
  42. #    includes debugging features (-Z switch) in the code.
  43. #      Code runs substantially slower even if no debugging switches
  44. #      are set.
  45. # -DNOPRIVATE
  46. #    makes private (static) procedures and variables public,
  47. #      so they are visible to the debugger and profiler.
  48. #      No execution time or space penalty.
  49.  
  50. GENOPT=
  51.  
  52. # ------ Platform-specific options ------ #
  53.  
  54. # Define the other compilation flags.
  55. # Add -DBSD4_2 for 4.2bsd systems.
  56. # Add -DSYSV for System V.
  57. # Add -DSYSV -D__SVR3 for ISC Unix 2.2.
  58. # Add -DSVR4 (not -DSYSV) for System V release 4.
  59. # XCFLAGS can be set from the command line.
  60.  
  61. CFLAGS=-O $(XCFLAGS)
  62.  
  63. # Define platform flags for ld.
  64. # SunOS and some others want -X; Ultrix wants -x.
  65. # SunOS 4.n may need -Bstatic.
  66. # XLDFLAGS can be set from the command line.
  67.  
  68. LDFLAGS=$(XLDFLAGS)
  69.  
  70. # Define any extra libraries to link into the executable.
  71. # ISC Unix 2.2 wants -linet.
  72. # (Libraries required by individual drivers are handled automatically.)
  73.  
  74. EXTRALIBS=
  75.  
  76. # Define the include switch(es) for the X11 header files.
  77. # This can be null if handled in some other way (e.g., the files are
  78. # in /usr/include, or the directory is supplied by an environment variable).
  79.  
  80. XINCLUDE=-I/usr/local/X/include
  81.  
  82. # Define the directory/ies for the X11 library files.
  83. # This can be null if these files are in the default linker search path.
  84.  
  85. XLIBDIRS=-L/usr/local/X/lib
  86.  
  87. # Define the installation commands and target directories for
  88. # executables and files.  Only relevant to `make install'.
  89.  
  90. INSTALL = install -c
  91. INSTALL_PROGRAM = $(INSTALL) -m 775
  92. INSTALL_DATA = $(INSTALL) -m 664
  93.  
  94. prefix = /usr/local
  95. bindir = $(prefix)/bin
  96. libdir = $(prefix)/lib/ghostscript
  97.  
  98. # ------ Devices and features ------ #
  99.  
  100. # Choose the language feature(s) to include.  See gs.mak for details.
  101.  
  102. FEATURE_DEVS=filter.dev dps.dev level2.dev
  103.  
  104. # Choose the device(s) to include.  See devs.mak for details.
  105.  
  106. DEVICE_DEVS=x11.dev
  107.  
  108. # ---------------------------- End of options --------------------------- #
  109.  
  110. # Define the name of the makefile -- used in dependencies.
  111.  
  112. MAKEFILE=unix-cc.mak
  113.  
  114. # Define the ANSI-to-K&R dependency.
  115.  
  116. AK=ansi2knr$(XE)
  117.  
  118. # Define the compilation rules and flags.
  119.  
  120. CCC=./ccgs "$(CC) $(CCFLAGS)" _temp_.c
  121.  
  122. # --------------------------- Generic makefile ---------------------------- #
  123.  
  124. # The remainder of the makefile (unixhead.mak, gs.mak, devs.mak, unixtail.mak)
  125. # is generic.  tar_cat concatenates all these together.
  126. #    Copyright (C) 1990, 1991 Aladdin Enterprises.  All rights reserved.
  127. #    Distributed by Free Software Foundation, Inc.
  128. #
  129. # This file is part of Ghostscript.
  130. #
  131. # Ghostscript is distributed in the hope that it will be useful, but
  132. # WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
  133. # to anyone for the consequences of using it or for whether it serves any
  134. # particular purpose or works at all, unless he says so in writing.  Refer
  135. # to the Ghostscript General Public License for full details.
  136. #
  137. # Everyone is granted permission to copy, modify and redistribute
  138. # Ghostscript, but only under the conditions described in the Ghostscript
  139. # General Public License.  A copy of this license is supposed to have been
  140. # given to you along with Ghostscript so you can know your rights and
  141. # responsibilities.  It should be in a file named COPYING.  Among other
  142. # things, the copyright notice and this notice must be preserved on all
  143. # copies.
  144.  
  145. # Partial makefile for Ghostscript, common to all Unix configurations.
  146.  
  147. # This part of the makefile gets inserted after the compiler-specific part
  148. # (xxx-head.mak) and before gs.mak and devs.mak.
  149.  
  150. # ----------------------------- Generic stuff ----------------------------- #
  151.  
  152. # Define the platform name.
  153.  
  154. PLATFORM=unix_
  155.  
  156. # Define the extensions for the object and executable files.
  157.  
  158. OBJ=o
  159. XE=
  160.  
  161. # Define the need for uniq.
  162.  
  163. UNIQ=
  164.  
  165. # Define the current directory prefix, shell quote string, and shell names.
  166.  
  167. EXP=./
  168. QQ=\"
  169. SHELL=/bin/sh
  170. SH=$(SHELL)
  171. SHP=$(SH) $(EXP)
  172.  
  173. # Define the compilation rules and flags.
  174.  
  175. CCFLAGS=$(GENOPT) $(CFLAGS)
  176.  
  177. .c.o:
  178.     $(CCC) $*.c
  179.  
  180. CC0=$(CCC)
  181. CCINT=$(CCC)
  182. #    Copyright (C) 1989, 1992 Aladdin Enterprises.  All rights reserved.
  183. #    Distributed by Free Software Foundation, Inc.
  184. #
  185. # This file is part of Ghostscript.
  186. #
  187. # Ghostscript is distributed in the hope that it will be useful, but
  188. # WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
  189. # to anyone for the consequences of using it or for whether it serves any
  190. # particular purpose or works at all, unless he says so in writing.  Refer
  191. # to the Ghostscript General Public License for full details.
  192. #
  193. # Everyone is granted permission to copy, modify and redistribute
  194. # Ghostscript, but only under the conditions described in the Ghostscript
  195. # General Public License.  A copy of this license is supposed to have been
  196. # given to you along with Ghostscript so you can know your rights and
  197. # responsibilities.  It should be in a file named COPYING.  Among other
  198. # things, the copyright notice and this notice must be preserved on all
  199. # copies.
  200.  
  201. # Generic makefile for Ghostscript.
  202. # The platform-specific makefiles `include' this file.
  203. # They define the following symbols:
  204. #    GS_INIT - the name of the initialization file for Ghostscript,
  205. #        normally gs_init.ps.
  206. #    GS_LIB_DEFAULT - the default directory/ies for searching for the
  207. #        initialization and font files at run time.
  208. #    DEVICE_DEVS - the devices to include in the executable.
  209. #        See devs.mak for details.
  210. #    FEATURE_DEVS - the optional features to include in the
  211. #        executable.  Current features are:
  212. #            dps - support for Display PostScript extensions.
  213. #            *** PARTIALLY IMPLEMENTED, SEE language.doc. ***
  214. #            level2 - support for PostScript Level 2 extensions.
  215. #            *** PARTIALLY IMPLEMENTED, SEE language.doc. ***
  216. #            compfont - support for composite (type 0) fonts.
  217. #            *** NOT IMPLEMENTED YET. ***
  218. #            filter - support for Level 2 filters (other than eexec,
  219. #            ASCIIHexEncode/Decode, and PFBDecode, which are
  220. #            always included).
  221. #            ccfonts - precompile fonts into C, and link them
  222. #            with the executable.  In the standard makefiles,
  223. #            this is only implemented for a very few fonts:
  224. #            see fonts.doc for details.
  225. # It is very unlikely that anyone would want to edit the remaining
  226. #   symbols, but we describe them here for completeness:
  227. #    PLATFORM - a "device" name for the platform, so that platforms can
  228. #        add various kinds of resources like devices and features.
  229. #    QQ - a " preceded by whatever escape characters are needed to
  230. #        persuade the shell to pass a " to a program (" on MS-DOS,
  231. #        \" on Unix).
  232. #    XE - the extension for executable files (e.g., null or .exe).
  233. #    OBJ - the extension for relocatable object files (e.g., o or obj).
  234. #    CCC - the C invocation for normal compilation.
  235. #    CC0 - a C invocation with the fewest possible flags.  Needed because
  236. #        MS-DOS limits the length of command lines to 128 characters.
  237. #    CCINT - the C invocation for compiling the main interpreter module,
  238. #        normally the same as CCC: this is needed because the
  239. #        Borland compiler generates *worse* code for this module
  240. #        (but only this module) when optimization (-O) is turned on.
  241. #    AK - if source files must be converted from ANSI to K&R syntax,
  242. #        this is ansi2knr$(XE); if not, it is null.
  243. #    UNIQ - null on systems that provide the uniq utility,
  244. #        uniq$(XE) on systems where we have to provide our own.
  245. #    SHP - the prefix for invoking a shell script in the current directory
  246. #        (null for MS-DOS, $(SH) ./ for Unix).
  247. #    EXPP, EXP - the prefix for invoking an executable program in the
  248. #        current directory (null for MS-DOS, ./ for Unix).
  249. #    SH - the shell for scripts (null on MS-DOS, sh on Unix).
  250. # The platform-specific makefiles must also include rules for creating
  251. #   ansi2knr$(XE) and genarch$(XE) from the corresponding .c files,
  252. #   and for making arch.h by executing genarch$(XE).  (This
  253. #   shouldn't really be necessary, but Turbo C and Unix C treat the -o
  254. #   switch slightly differently (Turbo C requires no following space,
  255. #   Unix C requires a following space), and I haven't found a way to capture
  256. #   the difference in a macro; also, Unix requires ./ because . may not be
  257. #   in the search path, whereas MS-DOS always looks in the current
  258. #   directory first.)
  259.  
  260. all default: gs$(XE)
  261.  
  262. test: gt$(XE)
  263.  
  264. mostlyclean realclean distclean clean:
  265.     rm -f *.$(OBJ) *.a core gmon.out
  266.     rm -f *.dev gconfig.h obj*.tr lib*.tr
  267.     rm -f t _temp_* _temp_*.* *.map *.sym
  268.     rm -f ansi2knr$(XE) genarch$(XE) uniq$(XE) arch.h gs$(XE)
  269.  
  270. # Auxiliary programs
  271.  
  272. # genarch may cause a (deliberate) addressing fault,
  273. # so we invoke it with a preceding -.
  274.  
  275. arch.h: genarch$(XE)
  276.     - $(EXPP) $(EXP)genarch arch.h
  277.  
  278. # -------------------------------- Library -------------------------------- #
  279.  
  280. # Define the inter-dependencies of the .h files.
  281. # Since not all versions of `make' defer expansion of macros,
  282. # we must list these in bottom-to-top order.
  283.  
  284. # Generic files
  285.  
  286. arch_h=arch.h
  287. std_h=std.h $(arch_h)
  288. gs_h=gs.h $(std_h)
  289. gx_h=gx.h $(gs_h)
  290.  
  291. # C library interfaces
  292.  
  293. # Because of variations in the "standard" header files between systems,
  294. # we define local include files named *_.h to substitute for <*.h>.
  295.  
  296. vmsmath_h=vmsmath.h
  297.  
  298. dos__h=dos_.h
  299. malloc__h=malloc_.h
  300. math__h=math_.h $(vmsmath_h)
  301. memory__h=memory_.h
  302. stat__h=stat_.h
  303. string__h=string_.h
  304. time__h=time_.h
  305.  
  306. # Miscellaneous
  307.  
  308. gserrors_h=gserrors.h
  309.  
  310. GX=$(AK) $(gx_h)
  311. GXERR=$(GX) $(gserrors_h)
  312.  
  313. ###### Low-level facilities and utilities
  314.  
  315. ### Include files
  316.  
  317. gschar_h=gschar.h
  318. gscolor_h=gscolor.h
  319. gscoord_h=gscoord.h
  320. gsfont_h=gsfont.h
  321. gsmatrix_h=gsmatrix.h
  322. gspaint_h=gspaint.h
  323. gspath_h=gspath.h
  324. gsprops_h=gsprops.h
  325. gsstate_h=gsstate.h $(gscolor_h)
  326. gstype1_h=gstype1.h
  327. gsutil_h=gsutil.h
  328.  
  329. gxarith_h=gxarith.h
  330. gxbitmap_h=gxbitmap.h
  331. gxcache_h=gxcache.h
  332. gxchar_h=gxchar.h $(gschar_h)
  333. gxclist_h=gxclist.h
  334. gxcpath_h=gxcpath.h
  335. gxdevice_h=gxdevice.h $(gsmatrix_h) $(gxbitmap_h)
  336. gxdevmem_h=gxdevmem.h
  337. gxfdir_h=gxfdir.h
  338. gxfixed_h=gxfixed.h
  339. gxfont_h=gxfont.h $(gsfont_h)
  340. gximage_h=gximage.h
  341. gxmatrix_h=gxmatrix.h $(gsmatrix_h)
  342. gxop1_h=gxop1.h
  343. gxpath_h=gxpath.h
  344. gxtype1_h=gxtype1.h $(gstype1_h)
  345.  
  346. gzcolor_h=gzcolor.h $(gscolor_h)
  347. gzdevice_h=gzdevice.h $(gxdevice_h)
  348. gzht_h=gzht.h
  349. gzline_h=gzline.h
  350. gzpath_h=gzpath.h $(gxpath_h)
  351. gzstate_h=gzstate.h $(gsstate_h)
  352.  
  353. ### Executable code
  354.  
  355. gsutil.$(OBJ): gsutil.c \
  356.   $(std_h) $(gsprops_h) $(gsutil_h)
  357.  
  358. gxcache.$(OBJ): gxcache.c $(GXERR) \
  359.   $(gxfixed_h) $(gxmatrix_h) $(gspaint_h) $(gzdevice_h) $(gzcolor_h) \
  360.   $(gxcpath_h) $(gxdevmem_h) $(gxfont_h) $(gxfdir_h) $(gxchar_h) \
  361.   $(gxcache_h) $(gzstate_h) $(gzpath_h)
  362.  
  363. gxclist.$(OBJ): gxclist.c $(GXERR) \
  364.   $(gsmatrix_h) $(gxbitmap_h) $(gxclist_h) $(gxdevice_h) $(gxdevmem_h)
  365.  
  366. gxcolor.$(OBJ): gxcolor.c $(GXERR) \
  367.   $(gxfixed_h) $(gxmatrix_h) $(gxdevice_h) $(gzcolor_h) $(gzht_h) $(gzstate_h)
  368.  
  369. gxcpath.$(OBJ): gxcpath.c $(GXERR) \
  370.   $(gxdevice_h) $(gxfixed_h) $(gzcolor_h) $(gzpath_h) $(gxcpath_h)
  371.  
  372. gxdither.$(OBJ): gxdither.c $(GX) \
  373.   $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gzdevice_h) $(gzcolor_h) $(gzht_h)
  374.  
  375. gxdraw.$(OBJ): gxdraw.c $(GX) \
  376.   $(gxfixed_h) $(gxmatrix_h) $(gxbitmap_h) $(gzcolor_h) $(gzdevice_h) $(gzstate_h)
  377.  
  378. gxfill.$(OBJ): gxfill.c $(GXERR) \
  379.   $(gxfixed_h) $(gxmatrix_h) $(gxdevice_h) $(gzcolor_h) $(gzpath_h) $(gzstate_h) $(gxcpath_h)
  380.  
  381. gxht.$(OBJ): gxht.c $(GXERR) \
  382.   $(gxfixed_h) $(gxmatrix_h) $(gxbitmap_h) $(gzstate_h) $(gzcolor_h) $(gzdevice_h) $(gzht_h)
  383.  
  384. gxpath.$(OBJ): gxpath.c $(GXERR) \
  385.   $(gxfixed_h) $(gzpath_h)
  386.  
  387. gxpath2.$(OBJ): gxpath2.c $(GXERR) \
  388.   $(gxfixed_h) $(gxarith_h) $(gzpath_h)
  389.  
  390. gxstroke.$(OBJ): gxstroke.c $(GXERR) \
  391.   $(gxfixed_h) $(gxarith_h) $(gxmatrix_h) $(gzstate_h) $(gzcolor_h) $(gzdevice_h) $(gzline_h) $(gzpath_h)
  392.  
  393. ###### High-level facilities
  394.  
  395. gschar.$(OBJ): gschar.c $(GXERR) \
  396.   $(gxfixed_h) $(gxarith_h) $(gxmatrix_h) $(gzdevice_h) $(gxdevmem_h) $(gxfont_h) $(gxchar_h) $(gxcache_h) $(gstype1_h) $(gspath_h) $(gzpath_h) $(gzcolor_h) $(gzstate_h)
  397.  
  398. gscolor.$(OBJ): gscolor.c $(GXERR) \
  399.   $(gxfixed_h) $(gxmatrix_h) $(gxdevice_h) $(gzstate_h) $(gzcolor_h) $(gzht_h)
  400.  
  401. gscoord.$(OBJ): gscoord.c $(GXERR) \
  402.   $(gxarith_h) $(gxfixed_h) $(gxmatrix_h) $(gzdevice_h) $(gzstate_h) $(gscoord_h)
  403.  
  404. gsdevice.$(OBJ): gsdevice.c $(GXERR) \
  405.   $(gsarith_h) $(gsprops_h) $(gsutil_h) $(gxfixed_h) $(gxmatrix_h) $(gxbitmap_h) $(gxdevmem_h) $(gzstate_h) $(gzdevice_h)
  406.  
  407. gsfile.$(OBJ): gsfile.c $(GXERR) \
  408.   $(gsmatrix_h) $(gxdevice_h) $(gxdevmem_h)
  409.  
  410. gsfont.$(OBJ): gsfont.c $(GXERR) \
  411.   $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h) $(gxfont_h) $(gxfdir_h) $(gzstate_h)
  412.  
  413. gsimage.$(OBJ): gsimage.c $(GXERR) \
  414.   $(gxfixed_h) $(gxarith_h) $(gxmatrix_h) $(gspaint_h) $(gzcolor_h) $(gzdevice_h) $(gzpath_h) $(gzstate_h) $(gxcpath_h) $(gxdevmem_h) $(gximage_h)
  415.  
  416. gsim2out.$(OBJ): gsim2out.c $(GXERR) \
  417.   $(gsstate_h) $(gsmatrix_h) $(gscoord_h) $(gxfixed_h) $(gxtype1_h)
  418.  
  419. gsline.$(OBJ): gsline.c $(GXERR) \
  420.   $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gzline_h)
  421.  
  422. gsmatrix.$(OBJ): gsmatrix.c $(GXERR) \
  423.   $(gxfixed_h) $(gxarith_h) $(gxmatrix_h)
  424.  
  425. gsmisc.$(OBJ): gsmisc.c $(GX) $(MAKEFILE)
  426.     $(CCC) -DUSE_ASM=0$(USE_ASM) gsmisc.c
  427.  
  428. gspaint.$(OBJ): gspaint.c $(GXERR) \
  429.   $(gxfixed_h) $(gxmatrix_h) $(gspaint_h) $(gzpath_h) $(gzstate_h) $(gzdevice_h) $(gxcpath_h) $(gxdevmem_h) $(gximage_h)
  430.  
  431. gspath.$(OBJ): gspath.c $(GXERR) \
  432.   $(gxfixed_h) $(gxmatrix_h) $(gxpath_h) $(gzstate_h)
  433.  
  434. gspath2.$(OBJ): gspath2.c $(GXERR) \
  435.   $(gspath_h) $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gzpath_h) $(gzdevice_h)
  436.  
  437. gsstate.$(OBJ): gsstate.c $(GXERR) \
  438.   $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gzcolor_h) $(gzdevice_h) $(gzht_h) $(gzline_h) $(gzpath_h)
  439.  
  440. gstdev.$(OBJ): gstdev.c $(GX) \
  441.   $(gxbitmap_h) $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h)
  442.  
  443. gstype1.$(OBJ): gstype1.c $(GXERR) \
  444.   $(gxarith_h) $(gxfixed_h) $(gxmatrix_h) $(gxchar_h) $(gxdevmem_h) $(gxop1_h) $(gxtype1_h) \
  445.   $(gzstate_h) $(gzdevice_h) $(gzpath_h)
  446.  
  447. ###### The internal devices
  448.  
  449. gdevmem_h=gdevmem.h
  450.  
  451. gdevmem1.$(OBJ): gdevmem1.c $(AK) \
  452.   $(gs_h) $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  453.  
  454. gdevmem2.$(OBJ): gdevmem2.c $(AK) \
  455.   $(gs_h) $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  456.  
  457. ###### Files dependent on the installed devices, features, and platform.
  458. ###### Generating gconfig.h also generates obj*.tr and lib.tr.
  459.  
  460. gconfig.h gconfig.ps obj.tr lib.tr: devs.mak $(MAKEFILE) $(UNIQ) $(DEVICE_DEVS) $(FEATURE_DEVS) $(PLATFORM).dev
  461.     $(SHP)gsconfig $(DEVICE_DEVS) +
  462.     $(SHP)gsconfig + $(FEATURE_DEVS) $(PLATFORM).dev
  463.  
  464. gconfig.$(OBJ): gconfig.c $(AK) gconfig.h $(MAKEFILE)
  465.     $(CC0) -DGS_LIB_DEFAULT=$(QQ)$(GS_LIB_DEFAULT)$(QQ) -DGS_INIT=$(QQ)$(GS_INIT)$(QQ) gconfig.c
  466.  
  467. ###### On Unix, we pre-link all of the library except the back end.
  468. ###### On MS-DOS, we have to do the whole thing at once.
  469.  
  470. LIB=gschar.$(OBJ) gscolor.$(OBJ) gscoord.$(OBJ) \
  471.  gsdevice.$(OBJ) gsfile.$(OBJ) gsfont.$(OBJ) \
  472.  gsimage.$(OBJ) gsim2out.$(OBJ) \
  473.  gsline.$(OBJ) gsmatrix.$(OBJ) gsmisc.$(OBJ) \
  474.  gspaint.$(OBJ) gspath.$(OBJ) gspath2.$(OBJ) \
  475.  gsstate.$(OBJ) gstdev.$(OBJ) gstype1.$(OBJ) gsutil.$(OBJ) \
  476.  gxcache.$(OBJ) gxclist.$(OBJ) gxcolor.$(OBJ) gxcpath.$(OBJ) \
  477.  gxdither.$(OBJ) gxdraw.$(OBJ) gxfill.$(OBJ) \
  478.  gxht.$(OBJ) gxpath.$(OBJ) gxpath2.$(OBJ) gxstroke.$(OBJ) \
  479.  gdevmem1.$(OBJ) gdevmem2.$(OBJ) gconfig.$(OBJ)
  480.  
  481. # ------------------------------ Interpreter ------------------------------ #
  482.  
  483. ###### Include files
  484.  
  485. alloc_h=alloc.h
  486. astate_h=astate.h
  487. ccfont_h=ccfont.h
  488. dict_h=dict.h
  489. errors_h=errors.h
  490. estack_h=estack.h
  491. file_h=file.h
  492. font_h=font.h
  493. ghost_h=ghost.h $(gx_h)
  494. gp_h=gp.h
  495. iutil_h=iutil.h
  496. name_h=name.h
  497. opdef_h=opdef.h
  498. ostack_h=ostack.h
  499. overlay_h=overlay.h
  500. packed_h=packed.h
  501. save_h=save.h
  502. scanchar_h=scanchar.h
  503. state_h=state.h
  504. store_h=store.h
  505. stream_h=stream.h
  506. # Nested include files
  507. oper_h=oper.h $(gsutil_h) $(iutil_h) $(opdef_h) $(ostack_h)
  508. # Include files for optional features
  509. bnum_h=bnum.h
  510. bseq_h=bseq.h
  511. btoken_h=btoken.h
  512.  
  513. comp1_h=comp1.h $(ghost_h) $(oper_h) $(gserrors_h) $(gxfixed_h) $(gxop1_h)
  514.  
  515. gdevpcl_h=gdevpcl.h
  516. gdevprn_h=gdevprn.h $(memory__h) $(string__h) $(gs_h) \
  517.   $(gsmatrix_h) $(gxdevice_h) $(gxdevmem_h) $(gxclist_h)
  518. gdevx_h=gdevx.h
  519.  
  520. ###### Utilities
  521.  
  522. GH=$(AK) $(ghost_h)
  523.  
  524. ialloc.$(OBJ): ialloc.c $(AK) $(gs_h) $(alloc_h) $(astate_h)
  525.  
  526. iccfont.$(OBJ): iccfont.c $(GH) \
  527.  $(ghost_h) $(alloc_h) $(ccfont_h) $(dict_h) $(errors_h) $(name_h) $(save_h) $(store_h)
  528.  
  529. idebug.$(OBJ): idebug.c $(GH) \
  530.  $(iutil_h) $(dict_h) $(name_h) $(ostack_h) $(opdef_h) $(packed_h) $(store_h)
  531.  
  532. idict.$(OBJ): idict.c $(GH) $(alloc_h) $(errors_h) $(name_h) $(packed_h) $(save_h) $(store_h) $(iutil_h) $(dict_h)
  533.  
  534. iinit.$(OBJ): iinit.c $(GH) gconfig.h $(alloc_h) $(dict_h) $(errors_h) $(name_h) $(oper_h) $(store_h)
  535.  
  536. iname.$(OBJ): iname.c $(GH) $(alloc_h) $(errors_h) $(name_h) $(store_h)
  537.  
  538. isave.$(OBJ): isave.c $(GH) $(alloc_h) $(astate_h) $(name_h) $(packed_h) $(save_h) $(store_h)
  539.  
  540. iscan.$(OBJ): iscan.c $(GH) $(alloc_h) $(dict_h) $(errors_h) $(iutil_h) \
  541.  $(name_h) $(ostack_h) $(packed_h) $(store_h) $(stream_h) $(scanchar_h)
  542.  
  543. iutil.$(OBJ): iutil.c $(GH) \
  544.  $(errors_h) $(alloc_h) $(dict_h) $(iutil_h) $(name_h) $(ostack_h) $(opdef_h) $(store_h) \
  545.  $(gsmatrix_h) $(gxdevice_h) $(gzcolor_h)
  546.  
  547. sfilter.$(OBJ): sfilter.c $(AK) $(std_h) $(scanchar_h) $(stream_h) \
  548.  $(gxfixed_h) $(gstype1_h)
  549.  
  550. stream.$(OBJ): stream.c $(AK) $(std_h) $(stream_h) $(scanchar_h)
  551.  
  552. ###### Operators
  553.  
  554. OP=$(GH) $(errors_h) $(oper_h)
  555.  
  556. ### Non-graphics operators
  557.  
  558. zarith.$(OBJ): zarith.c $(OP) $(store_h)
  559.  
  560. zarray.$(OBJ): zarray.c $(OP) $(alloc_h) $(packed_h) $(store_h)
  561.  
  562. zcontrol.$(OBJ): zcontrol.c $(OP) $(estack_h) $(iutil_h) $(store_h)
  563.  
  564. zdict.$(OBJ): zdict.c $(OP) $(dict_h) $(store_h)
  565.  
  566. zfile.$(OBJ): zfile.c $(OP) $(gp_h) \
  567.   $(alloc_h) $(estack_h) $(file_h) $(iutil_h) $(save_h) $(stream_h) $(store_h)
  568.  
  569. zfileio.$(OBJ): zfileio.c $(OP) $(gp_h) \
  570.   $(estack_h) $(file_h) $(store_h) $(stream_h) \
  571.   $(gsmatrix_h) $(gxdevice_h) $(gxdevmem_h)
  572.  
  573. zfilter.$(OBJ): zfilter.c $(OP) $(alloc_h) $(stream_h)
  574.  
  575. zgeneric.$(OBJ): zgeneric.c $(OP) $(dict_h) $(estack_h) $(name_h) $(packed_h) $(store_h)
  576.  
  577. zmath.$(OBJ): zmath.c $(OP) $(store_h)
  578.  
  579. zmisc.$(OBJ): zmisc.c $(OP) $(gp_h) $(alloc_h) $(dict_h) $(name_h) $(packed_h) $(store_h) \
  580.   $(gstype1_h) $(gxfixed_h)
  581.  
  582. zpacked.$(OBJ): zpacked.c $(OP) \
  583.   $(alloc_h) $(dict_h) $(name_h) $(packed_h) $(save_h) $(store_h)
  584.  
  585. zprops.$(OBJ): zprops.c $(OP) \
  586.   $(alloc_h) $(dict_h) $(name_h) $(store_h) \
  587.   $(gsprops_h) $(gsmatrix_h) $(gxdevice_h)
  588.  
  589. zrelbit.$(OBJ): zrelbit.c $(OP) $(store_h) $(dict_h)
  590.  
  591. zstack.$(OBJ): zstack.c $(OP) $(store_h)
  592.  
  593. zstring.$(OBJ): zstring.c $(OP) $(alloc_h) $(iutil_h) $(name_h) $(store_h) $(stream_h)
  594.  
  595. ztype.$(OBJ): ztype.c $(OP) $(dict_h) $(iutil_h) $(name_h) $(stream_h) $(store_h)
  596.  
  597. zvmem.$(OBJ): zvmem.c $(OP) $(alloc_h) $(dict_h) $(estack_h) $(save_h) $(state_h) $(store_h) \
  598.   $(gsmatrix_h) $(gsstate_h)
  599.  
  600. ###### Graphics operators
  601.  
  602. zchar.$(OBJ): zchar.c $(OP) $(gxmatrix_h) $(gschar_h) $(gstype1_h) $(gxdevice_h) $(gxfixed_h) $(gxfont_h) $(gzpath_h) $(gzstate_h) $(alloc_h) $(dict_h) $(font_h) $(estack_h) $(state_h) $(store_h)
  603.  
  604. zcolor.$(OBJ): zcolor.c $(OP) $(alloc_h) $(estack_h) $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gxdevice_h) $(gzcolor_h) $(iutil_h) $(state_h) $(store_h)
  605.  
  606. zdevice.$(OBJ): zdevice.c $(OP) $(alloc_h) $(state_h) $(gsmatrix_h) $(gsstate_h) $(gxdevice_h) $(store_h)
  607.  
  608. zfont.$(OBJ): zfont.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gxfont_h) $(gxfdir_h) \
  609.  $(alloc_h) $(font_h) $(dict_h) $(name_h) $(packed_h) $(save_h) $(state_h) $(store_h)
  610.  
  611. zfont1.$(OBJ): zfont1.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gschar_h) $(gxfixed_h) $(gxfont_h) \
  612.  $(dict_h) $(font_h) $(name_h) $(store_h)
  613.  
  614. zfont2.$(OBJ): zfont2.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gschar_h) $(gxfixed_h) $(gxfont_h) \
  615.  $(alloc_h) $(dict_h) $(font_h) $(name_h) $(packed_h) $(store_h)
  616.  
  617. zgstate.$(OBJ): zgstate.c $(OP) $(alloc_h) $(gsmatrix_h) $(gsstate_h) $(state_h) $(store_h)
  618.  
  619. zht.$(OBJ): zht.c $(OP) $(alloc_h) $(estack_h) $(gsmatrix_h) $(gsstate_h) $(state_h) $(store_h)
  620.  
  621. zmatrix.$(OBJ): zmatrix.c $(OP) $(gsmatrix_h) $(state_h) $(gscoord_h) $(store_h)
  622.  
  623. zpaint.$(OBJ): zpaint.c $(OP) $(alloc_h) $(estack_h) $(gsmatrix_h) $(gspaint_h) $(state_h) $(store_h)
  624.  
  625. zpath.$(OBJ): zpath.c $(OP) $(gsmatrix_h) $(gspath_h) $(state_h) $(store_h)
  626.  
  627. zpath2.$(OBJ): zpath2.c $(OP) $(alloc_h) $(estack_h) $(gspath_h) $(state_h) $(store_h)
  628.  
  629. ###### Linking
  630.  
  631. INT=ialloc.$(OBJ) idebug.$(OBJ) idict.$(OBJ) iinit.$(OBJ) iname.$(OBJ) \
  632.  interp.$(OBJ) isave.$(OBJ) iscan.$(OBJ) iutil.$(OBJ) \
  633.  sfilter.$(OBJ) stream.$(OBJ) \
  634.  zarith.$(OBJ) zarray.$(OBJ) zcontrol.$(OBJ) zdict.$(OBJ) \
  635.  zfile.$(OBJ) zfileio.$(OBJ) zfilter.$(OBJ) zgeneric.$(OBJ) \
  636.  zmath.$(OBJ) zmisc.$(OBJ) zpacked.$(OBJ) zprops.$(OBJ) zrelbit.$(OBJ) \
  637.  zstack.$(OBJ) zstring.$(OBJ) ztype.$(OBJ) zvmem.$(OBJ) \
  638.  zchar.$(OBJ) zcolor.$(OBJ) zfont.$(OBJ) zfont1.$(OBJ) zfont2.$(OBJ) \
  639.  zdevice.$(OBJ) zgstate.$(OBJ) zht.$(OBJ) zmatrix.$(OBJ) \
  640.  zpaint.$(OBJ) zpath.$(OBJ) zpath2.$(OBJ)
  641.  
  642. # -------------------------- Optional features ---------------------------- #
  643.  
  644. ### Additions common to Display PostScript and Level 2
  645.  
  646. dpsand2_=gsdps1.$(OBJ) ibnum.$(OBJ) ibscan.$(OBJ) \
  647.  zbseq.$(OBJ) zdps1.$(OBJ) zupath.$(OBJ)
  648. dpsand2.dev: $(dpsand2_)
  649.     $(SHP)gssetmod dpsand2 $(dpsand2_)
  650.     $(SHP)gsaddmod dpsand2 -oper zbseq zdps1 zupath
  651.     $(SHP)gsaddmod dpsand2 -ps gs_dps1
  652.  
  653. gsdps1.$(OBJ): gsdps1.c $(GXERR) $(gsmatrix_h) $(gspath_h)
  654.  
  655. ibnum.$(OBJ): ibnum.c $(GH) $(errors_h) $(stream_h) $(bnum_h) $(btoken_h)
  656.  
  657. ibscan.$(OBJ): ibscan.c $(GH) $(errors_h) $(alloc_h) $(dict_h) $(iutil_h) $(name_h) $(ostack_h) $(save_h) $(store_h) $(stream_h) $(bseq_h) $(btoken_h) $(bnum_h)
  658.  
  659. zbseq.$(OBJ): zbseq.c $(OP) $(save_h) $(store_h) $(stream_h) $(file_h) $(name_h) $(bnum_h) $(btoken_h) $(bseq_h)
  660.  
  661. zdps1.$(OBJ): zdps1.c $(OP) $(gsmatrix_h) $(gspath_h) $(gsstate_h) \
  662.  $(state_h) $(store_h) $(stream_h) $(bnum_h)
  663.  
  664. zupath.$(OBJ): zupath.c $(OP) \
  665.  $(dict_h) $(iutil_h) $(state_h) $(store_h) $(stream_h) $(bnum_h) \
  666.  $(gscoord_h) $(gsmatrix_h) $(gspaint_h) $(gspath_h) $(gsstate_h) \
  667.  $(gxfixed_h) $(gxdevice_h) $(gxpath_h)
  668.  
  669. ### Display PostScript
  670.  
  671. # We should include zcontext, but it isn't in good enough shape yet.
  672. dps_=
  673. dps.dev: dpsand2.dev $(dps_)
  674.     $(SHP)gssetmod dps $(dps_)
  675.     $(SHP)gsaddmod dps -include dpsand2
  676.  
  677. zcontext.$(OBJ): zcontext.c $(OP) \
  678.  $(alloc_h) $(dict_h) $(estack_h) $(state_h) $(store_h)
  679.  
  680. ### Level 2 additions -- currently just things common to DPS and Level 2.
  681. # Should also include
  682. #    $(SHP)gsaddmod level2 -ps gs_lev2
  683.  
  684. level2_=
  685. level2.dev: dpsand2.dev $(level2_)
  686.     $(SHP)gssetmod level2 $(level2_)
  687.     $(SHP)gsaddmod level2 -include dpsand2
  688.  
  689. ### Composite font support
  690.  
  691. gschar0.$(OBJ): gschar0.c $(GXERR) \
  692.   $(gxfixed_h) $(gxmatrix_h) $(gzdevice_h) $(gxdevmem_h) $(gxfont_h) $(gxchar_h) $(gzstate_h)
  693.  
  694. zfont0.$(OBJ): zfont0.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gxfont_h) \
  695.  $(alloc_h) $(font_h) $(dict_h) $(name_h) $(state_h) $(store_h)
  696.  
  697. compfont_=zfont0.$(OBJ) gschar0.$(OBJ)
  698. compfont.dev: $(compfont_)
  699.     $(SHP)gssetmod compfont $(compfont_)
  700.     $(SHP)gsaddmod compfont -oper zfont0
  701.  
  702. ### Filters other than eexec and ASCIIHex
  703.  
  704. sfilter2.$(OBJ): sfilter2.c $(AK) $(std_h) $(scanchar_h) $(stream_h)
  705.  
  706. zfilter2.$(OBJ): zfilter2.c $(OP) $(alloc_h) $(stream_h)
  707.  
  708. filter_=zfilter2.$(OBJ) sfilter2.$(OBJ)
  709. filter.dev: $(filter_)
  710.     $(SHP)gssetmod filter $(filter_)
  711.     $(SHP)gsaddmod filter -oper zfilter2
  712.  
  713. ### LZW encoding/decoding
  714. ### Not included, because Unisys has been awarded a legal monopoly
  715. ### (patent) on the right to implement the freely published algorithms.
  716.  
  717. lzw_=zlzwd.$(OBJ) zlzwe.$(OBJ) slzwd.$(OBJ) slzwe.$(OBJ)
  718. lzw.dev: $(lzw_)
  719.     $(SHP)gssetmod lzw $(lzw_)
  720.     $(SHP)gsaddmod lzw -oper zlzwd zlzwe
  721.  
  722. slzwd.$(OBJ): slzwd.c $(AK) std.h stream.h
  723.  
  724. slzwe.$(OBJ): slzwe.c $(AK) std.h stream.h
  725.  
  726. zlzwd.$(OBJ): zlzwd.c $(OP) $(alloc_h) $(stream_h)
  727.  
  728. zlzwe.$(OBJ): zlzwe.c $(OP) $(alloc_h) $(stream_h)
  729.  
  730. ### Precompiled fonts.  See fonts.doc for more information.
  731.  
  732. CCFONT=$(OP) $(ccfont_h)
  733.  
  734. ccfonts_=ugly.$(OBJ) cour.$(OBJ)
  735. ccfonts.dev: $(ccfonts_) iccfont.$(OBJ)
  736.     $(SHP)gssetmod ccfonts $(ccfonts_) iccfont.$(OBJ)
  737.     $(SHP)gsaddmod ccfonts -oper font_Ugly font_Courier
  738.     $(SHP)gsaddmod ccfonts -ps gs_ccfnt
  739.  
  740. ugly.$(OBJ): ugly.c $(CCFONT)
  741.  
  742. cour.$(OBJ): cour.c $(CCFONT)
  743.  
  744. # ----------------------------- Main program ------------------------------ #
  745.  
  746. # Utilities shared between platforms
  747.  
  748. gsmain.$(OBJ): gsmain.c $(GX) \
  749.   $(gp_h) $(gsmatrix_h) $(gxdevice_h)
  750.  
  751. # Interpreter main program
  752.  
  753. interp.$(OBJ): interp.c $(GH) \
  754.   $(errors_h) $(estack_h) $(name_h) $(dict_h) $(oper_h) $(ostack_h) $(packed_h) $(save_h) $(store_h) $(stream_h)
  755.     $(CCINT) interp.c
  756.  
  757. gs.$(OBJ): gs.c $(GH) $(alloc_h) $(estack_h) $(ostack_h) $(store_h) $(stream_h)
  758. #    Copyright (C) 1989, 1992 Aladdin Enterprises.  All rights reserved.
  759. #    Distributed by Free Software Foundation, Inc.
  760. #
  761. # This file is part of Ghostscript.
  762. #
  763. # Ghostscript is distributed in the hope that it will be useful, but
  764. # WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
  765. # to anyone for the consequences of using it or for whether it serves any
  766. # particular purpose or works at all, unless he says so in writing.  Refer
  767. # to the Ghostscript General Public License for full details.
  768. #
  769. # Everyone is granted permission to copy, modify and redistribute
  770. # Ghostscript, but only under the conditions described in the Ghostscript
  771. # General Public License.  A copy of this license is supposed to have been
  772. # given to you along with Ghostscript so you can know your rights and
  773. # responsibilities.  It should be in a file named COPYING.  Among other
  774. # things, the copyright notice and this notice must be preserved on all
  775. # copies.
  776.  
  777. # makefile for Ghostscript device drivers.
  778.  
  779. # -------------------------------- Catalog ------------------------------- #
  780.  
  781. # It is possible to build Ghostscript with an arbitrary collection of
  782. # device drivers, although some drivers are supported only on a subset
  783. # of the target platforms.  The currently available drivers are:
  784.  
  785. # Displays:
  786. #   MS-DOS EGA and VGA:
  787. #    ega    EGA (640x350, 16-color)
  788. #    vga    VGA (640x480, 16-color)
  789. #   MS-DOS SuperVGA:
  790. #   ****** NOTE: these devices do not work with the Watcom (32-bit MS-DOS)
  791. #   ****** compiler or executable.
  792. # +    atiw    ATI Wonder SuperVGA
  793. # *    mdb10    EIZO MDB-10 (1024 x 768)
  794. #    tseng    SuperVGA using Tseng Labs ET3000/4000 chips
  795. #    tseng16  Tseng Labs SuperVGA in 800x600, 16-color mode (256K memory)
  796. # +    tvga16    Trident SuperVGA in 800x600, 16-color mode (256K memory)
  797. #    vesa    SuperVGA with VESA standard API
  798. #   MS-DOS other:
  799. #    bgi    Borland Graphics Interface (CGA and Hercules)
  800. # *    pe    Private Eye
  801. #   Unix and VMS:
  802. # *    sonyfb    Sony Microsystems monochrome display   [Sony only]
  803. # *    sunview  SunView window system   [SunOS only]
  804. #    x11    X Windows version 11, release >=3   [Unix and VMS only]
  805. # Printers:
  806. #    bj10e    Canon BubbleJet BJ10e
  807. # *    cdeskjet  H-P DeskJet 500C
  808. # +    deskjet  H-P DeskJet and DeskJet Plus
  809. # *    dfaxhigh  DigiBoard, Inc.'s DigiFAX software format (high resolution)
  810. # *    dfaxlow  DigiFAX low (normal) resolution
  811. #    djet500  H-P DeskJet 500
  812. # *    djet500c  H-P DeskJet 500C
  813. #    epson    Epson-compatible dot matrix printers (9- or 24-pin)
  814. # *    epsonc    Epson LQ-2550 and Fujitsu 3400/2400/1200 color printers
  815. # +    laserjet  H-P LaserJet
  816. # *    lbp8    Canon LBP-8II laser printer
  817. # *    ln03    DEC LN03 printer   [Ultrix only?]
  818. # +    ljet2p    H-P LaserJet IId/IIp/III* with TIFF compression
  819. # +    ljet3    H-P LaserJet III* with Delta Row compression
  820. # *    ljetplus  H-P LaserJet Plus
  821. # *    nwp533  Sony Microsystems NWP533 laser printer   [Sony only]
  822. #    paintjet  H-P PaintJet color printer
  823. # *    r4081    Ricoh 4081 laser printer
  824. # *    trufax    TruFax facsimile driver  [Unix only]
  825. # File formats and others:
  826. #    bit    A "bit bucket" device for time benchmarking
  827.  
  828. # User-contributed drivers marked with * require hardware or software
  829. # that is not available to Aladdin Enterprises.  Please contact the
  830. # original contributors, not Aladdin Enterprises, if you have questions.
  831. # Contact information appears in the driver entry below.
  832. #
  833. # Drivers marked with a + are maintained by Aladdin Enterprises with
  834. # the assistance of users, since Aladdin Enterprises doesn't have access to
  835. # the hardware for these either.
  836.  
  837. # If you add drivers, it would be nice if you kept each list
  838. # in alphabetical order.
  839.  
  840. # Each platform-specific makefile must contain a line of the form
  841. #    DEVICE_DEVS=<dev1>.dev ... <devn>.dev
  842. # where dev1 ... devn are the devices to be included in the build.
  843. # dev1 will be used as the default device.
  844. # On MS-DOS platforms, this line must appear before the lines
  845. #    (!)include gs.mak
  846. #    (!)include devs.mak
  847. # in the makefile; on Unix systems, the device definition line
  848. # may appear anywhere in the makefile.
  849.  
  850. # ---------------------------- End of catalog ---------------------------- #
  851.  
  852. # If you want to add a new device driver, the examples below should be
  853. # enough of a guide to the correct form for the makefile rules.
  854.  
  855. # All device drivers depend on the following:
  856. GDEV=$(AK) $(gx_h) $(gxdevice_h)
  857.  
  858. ###### ------------------- MS-DOS display devices ------------------- ######
  859.  
  860. # There are really only two drivers: an EGA/VGA driver (4 bit-planes,
  861. # plane-addressed) and a SuperVGA driver (8 bit-planes, byte addressed).
  862.  
  863. ### ----------------------- EGA and VGA displays ----------------------- ###
  864.  
  865. gdevegaa.$(OBJ): gdevegaa.asm
  866.  
  867. ETEST=ega.$(OBJ) trace.$(OBJ) $(ega_)
  868. ega.exe: $(ETEST) libc$(MM).tr
  869.     tlink /m /l $(LIBDIR)\c0$(MM) @ega.tr @libc$(MM).tr
  870.  
  871. ega.$(OBJ): ega.c $(GDEV)
  872.  
  873. # The shared MS-DOS makefile defines PCFBASM as either gdevegaa.$(OBJ)
  874. # or an empty string.
  875.  
  876. EGAVGA=gdevpcfb.$(OBJ) $(PCFBASM)
  877.  
  878. gdevpcfb.$(OBJ): gdevpcfb.c $(GDEV) $(MAKEFILE) $(dos__h)
  879.     $(CCC) -DUSE_ASM=0$(USE_ASM) gdevpcfb.c
  880.  
  881. # The EGA/VGA family includes: EGA, VGA, MDB-10, and the
  882. # Tseng ET3000/4000 and Trident SuperVGA in 16-color mode.
  883.  
  884. ega.dev: $(EGAVGA)
  885.     $(SHP)gssetdev ega $(EGAVGA)
  886.  
  887. vga.dev: $(EGAVGA)
  888.     $(SHP)gssetdev vga $(EGAVGA)
  889.  
  890. mdb10.dev: $(EGAVGA)
  891.     $(SHP)gssetdev mdb10 $(EGAVGA)
  892.  
  893. tseng16.dev: $(EGAVGA)
  894.     $(SHP)gssetdev tseng16 $(EGAVGA)
  895.  
  896. tvga16.dev: $(EGAVGA)
  897.     $(SHP)gssetdev tvga16 $(EGAVGA)
  898.  
  899. ### ------------------------- SuperVGA displays ------------------------ ###
  900.  
  901. SVGA=gdevsvga.$(OBJ) $(PCFBASM)
  902.  
  903. gdevsvga.$(OBJ): gdevsvga.c $(GDEV) $(MAKEFILE) $(dos__h)
  904.     $(CCC) -DUSE_ASM=0$(USE_ASM) gdevsvga.c
  905.  
  906. # The SuperVGA family includes: ATI Wonder, Tseng ET3000/4000, and VESA.
  907.  
  908. atiw.dev: $(SVGA)
  909.     $(SHP)gssetdev atiw $(SVGA)
  910.  
  911. tseng.dev: $(SVGA)
  912.     $(SHP)gssetdev tseng $(SVGA)
  913.  
  914. vesa.dev: $(SVGA)
  915.     $(SHP)gssetdev vesa $(SVGA)
  916.  
  917. ### ------------ The BGI (Borland Graphics Interface) device ----------- ###
  918.  
  919. # We should use an implicit rule for running bgiobj,
  920. # but a bug in Borland's `make' utility makes this not work.
  921.  
  922. cga.$(OBJ): $(BGIDIR)\cga.bgi
  923.     $(BGIDIR)\bgiobj $(BGIDIR)\$&
  924.  
  925. egavga.$(OBJ): $(BGIDIR)\egavga.bgi
  926.     $(BGIDIR)\bgiobj $(BGIDIR)\$&
  927.  
  928. herc.$(OBJ): $(BGIDIR)\herc.bgi
  929.     $(BGIDIR)\bgiobj $(BGIDIR)\$&
  930.  
  931. # Include egavga.$(OBJ) for debugging only.
  932. bgi_=gdevbgi.$(OBJ) cga.$(OBJ) herc.$(OBJ)
  933. bgi.dev: $(bgi_)
  934.     $(SHP)gssetdev bgi $(bgi_)
  935.     $(SHP)gsaddmod bgi -lib $(LIBDIR)\graphics
  936.  
  937. gdevbgi.$(OBJ): gdevbgi.c $(GDEV) $(MAKEFILE)
  938.     $(CCC) -DBGI_LIB=$(QQ)$(BGIDIR)$(QQ) gdevbgi.c
  939.  
  940. ###### ------------------- The Private Eye display ------------------- ######
  941. ### Note: this driver was contributed by a user:                          ###
  942. ###   please contact narf@media-lab.media.mit.edu if you have questions.  ###
  943.  
  944. pe_=gdevpe.$(OBJ)
  945. pe.dev: $(pe_)
  946.     $(SHP)gssetdev pe $(pe_)
  947.  
  948. gdevpe.$(OBJ): gdevpe.c $(GDEV)
  949.  
  950. ###### --------------- Memory-buffered printer devices --------------- ######
  951.  
  952. PDEVH=$(GDEV) $(gxdevmem_h) $(gxclist_h) $(gdevprn_h)
  953.  
  954. gdevprn.$(OBJ): gdevprn.c $(PDEVH) $(gp_h) $(gsprops_h)
  955.  
  956. ### ----------------- The Canon BubbleJet BJ10e device ----------------- ###
  957.  
  958. bj10e_=gdevbj10.$(OBJ) gdevprn.$(OBJ)
  959. bj10e.dev: $(bj10e_)
  960.     $(SHP)gssetdev bj10e $(bj10e_)
  961.  
  962. gdevbj10.$(OBJ): gdevbj10.c $(PDEVH)
  963.  
  964. ### -------------------------- The DigiFAX device ----------------------- ###
  965. ###    This driver outputs images in a format suitable for use with       ###
  966. ###    DigiBoard, Inc.'s DigiFAX software.  Use -sDEVICE=dfaxhigh for     ###
  967. ###    high resolution output, -sDEVICE=dfaxlow for normal output.        ###
  968. ### Note: this driver was contributed by a user: please contact           ###
  969. ###       Rick Richardson (rick@digibd.com) if you have questions.        ###
  970.  
  971. digifax_=gdevdfax.$(OBJ) gdevprn.$(OBJ)
  972. dfaxhigh.dev: $(digifax_)
  973.     $(SHP)gssetdev dfaxhigh $(digifax_)
  974.  
  975. dfaxlow.dev: $(digifax_)
  976.     $(SHP)gssetdev dfaxlow $(digifax_)
  977.  
  978. gdevdfax.$(OBJ): gdevdfax.c $(GDEV) $(gdevprn_h) gdevdfg3.h
  979.  
  980. ### ----------- The H-P DeskJet and LaserJet printer devices ----------- ###
  981.  
  982. ### These are essentially the same device.
  983.  
  984. HPPCL=gdevprn.$(OBJ) gdevpcl.$(OBJ)
  985. HPMONO=gdevdjet.$(OBJ) $(HPPCL)
  986.  
  987. gdevpcl.$(OBJ): gdevpcl.c $(PDEVH) $(gdevpcl_h)
  988.  
  989. gdevdjet.$(OBJ): gdevdjet.c $(PDEVH) $(gdevpcl_h)
  990.  
  991. deskjet.dev: $(HPMONO)
  992.     $(SHP)gssetdev deskjet $(HPMONO)
  993.  
  994. djet500.dev: $(HPMONO)
  995.     $(SHP)gssetdev djet500 $(HPMONO)
  996.  
  997. laserjet.dev: $(HPMONO)
  998.     $(SHP)gssetdev laserjet $(HPMONO)
  999.  
  1000. ljetplus.dev: $(HPMONO)
  1001.     $(SHP)gssetdev ljetplus $(HPMONO)
  1002.  
  1003. ### Selecting ljet2p provides TIFF (mode 2) compression on LaserJet III,
  1004. ### IIIp, IIId, IIIsi, IId, and IIp. 
  1005.  
  1006. ljet2p.dev: $(HPMONO)
  1007.     $(SHP)gssetdev ljet2p $(HPMONO)
  1008.  
  1009. ### Selecting ljet3 provides Delta Row (mode 3) compression on LaserJet III,
  1010. ### IIIp, IIId, IIIsi.
  1011.  
  1012. ljet3.dev: $(HPMONO)
  1013.     $(SHP)gssetdev ljet3 $(HPMONO)
  1014.  
  1015. ### ------------ The H-P DeskJet 500C color printer device -------------- ###
  1016. ### Note: there are two different 500C drivers, both contributed by users.###
  1017. ###   If you have questions about the djet500c driver,                    ###
  1018. ###       please contact AKayser@et.tudelft.nl.                           ###
  1019. ###   If you have questions about the cdeskjet driver,                    ###
  1020. ###       please contact g.cameron@aberdeen.ac.uk.                        ###
  1021.  
  1022. cdeskjet_=gdevcdj.$(OBJ) $(HPPCL)
  1023. cdeskjet.dev: $(cdeskjet_)
  1024.     $(SHP)gssetdev cdeskjet $(cdeskjet_)
  1025.  
  1026. gdevcdj.$(OBJ): gdevcdj.c $(PDEVH) $(gdevpcl_h)
  1027.  
  1028. djet500c_=gdevdjtc.$(OBJ) $(HPPCL)
  1029. djet500c.dev: $(djet500c_)
  1030.     $(SHP)gssetdev djet500c $(djet500c_)
  1031.  
  1032. gdevdjtc.$(OBJ): gdevdjtc.c $(PDEVH) $(gdevpcl_h)
  1033.  
  1034. ### ----------------- The generic Epson printer device ----------------- ###
  1035.  
  1036. epson_=gdevepsn.$(OBJ) gdevprn.$(OBJ)
  1037. epson.dev: $(epson_)
  1038.     $(SHP)gssetdev epson $(epson_)
  1039.  
  1040. gdevepsn.$(OBJ): gdevepsn.c $(PDEVH) devs.mak
  1041.  
  1042. ### -------------- The Epson LQ-2550 color printer device -------------- ###
  1043. ### Note: this driver was contributed by users: please contact           ###
  1044. ###       Dave St. Clair (dave@exlog.com) if you have questions.         ###
  1045.  
  1046. epsonc_=gdevepsc.$(OBJ) gdevprn.$(OBJ)
  1047. epsonc.dev: $(epsonc_)
  1048.     $(SHP)gssetdev epsonc $(epsonc_)
  1049.  
  1050. gdevepsc.$(OBJ): gdevepsc.c $(PDEVH) devs.mak
  1051.  
  1052. ### ------------ The H-P PaintJet color printer device ----------------- ###
  1053.  
  1054. paintjet_=gdevpjet.$(OBJ) $(HPPCL)
  1055. paintjet.dev: $(paintjet_)
  1056.     $(SHP)gssetdev paintjet $(paintjet_)
  1057.  
  1058. gdevpjet.$(OBJ): gdevpjet.c $(PDEVH) $(gdevpcl_h)
  1059.  
  1060. ### ----------------- The Canon LBP-8II printer device ----------------- ###
  1061. ### Note: this driver was contributed by users: please contact           ###
  1062. ###       Tom Quinn (trq@prg.oxford.ac.uk) if you have questions.        ###
  1063. ### Note that the standard paper size for this driver is the European    ###
  1064. ###   A4 size, not the American 8.5" x 11" size.                         ###
  1065.  
  1066. lbp8_=gdevlbp8.$(OBJ) gdevprn.$(OBJ)
  1067. lbp8.dev: $(lbp8_)
  1068.     $(SHP)gssetdev lbp8 $(lbp8_)
  1069.  
  1070. gdevlbp8.$(OBJ): gdevlbp8.c $(PDEVH)
  1071.  
  1072. ### ----------------- The DEC LN03 printer device ---------------------- ###
  1073. ### Note: this driver was contributed by users: please contact           ###
  1074. ###       Ulrich Mueller (ulm@vsnhd1.cern.ch) if you have questions.     ###
  1075. ### A more general sixel driver is available from                        ###
  1076. ###       Ian MacPhedran (macphed@dvinci.USask.CA).                      ###
  1077.  
  1078. ln03_=gdevln03.$(OBJ) gdevprn.$(OBJ)
  1079. ln03.dev: $(ln03_)
  1080.     $(SHP)gssetdev ln03 $(ln03_)
  1081.  
  1082. gdevln03.$(OBJ): gdevln03.c $(PDEVH)
  1083.  
  1084. ### ------------- The Ricoh 4081 laser printer device ------------------ ###
  1085. ### Note: this driver was contributed by users:                          ###
  1086. ###       please contact kdw@oasis.icl.co.uk if you have questions.      ###
  1087.  
  1088. r4081_=gdev4081.$(OBJ) gdevprn.$(OBJ)
  1089. r4081.dev: $(r4081_)
  1090.     $(SHP)gssetdev r4081 $(r4081_)
  1091.  
  1092. gdev4081.$(OBJ): gdev4081.c $(PDEVH)
  1093.  
  1094. ###### ------------------------ Sony devices ------------------------ ######
  1095. ### Note: these drivers were contributed by users: please contact        ###
  1096. ###       Mike Smolenski (mike@srava.sra.co.jp) if you have questions.   ###
  1097.  
  1098. ### ------------------- Sony NeWS frame buffer device ------------------ ###
  1099.  
  1100. sonyfb_=gdevsnfb.$(OBJ) gdevprn.$(OBJ)
  1101. sonyfb.dev: $(sonyfb_)
  1102.     $(SHP)gssetdev sonyfb $(sonyfb_)
  1103.  
  1104. gdevsnfb.$(OBJ): gdevsnfb.c $(PDEVH)
  1105.  
  1106. ### -------------------- Sony NWP533 printer device -------------------- ###
  1107.  
  1108. nwp533_=gdevn533.$(OBJ) gdevprn.$(OBJ)
  1109. nwp533.dev: $(nwp533_)
  1110.     $(SHP)gssetdev nwp533 $(nwp533_)
  1111.  
  1112. gdevn533.$(OBJ): gdevn533.c $(PDEVH)
  1113.  
  1114. ###### --------------------- The SunView device --------------------- ######
  1115.  
  1116. sunview_=gdevsun.$(OBJ)
  1117. sunview.dev: $(sunview_)
  1118.     $(SHP)gssetdev sunview $(sunview_)
  1119.     $(SHP)gsaddmod sunview -lib suntool sunwindow pixrect
  1120.  
  1121. gdevsun.$(OBJ): gdevsun.c $(GDEV) $(arch_h)
  1122.  
  1123. ### ----------------- The TruFax facsimile device ---------------------- ###
  1124. ### Note: this driver was contributed by users:                          ###
  1125. ###       please contact nao@maestro.bellcore.com if you have questions. ###
  1126. ### Note that the driver requires a file encode_l.o supplied by the      ###
  1127. ###   makers of the TruFax product.                                      ###
  1128.  
  1129. trufax_=gdevtrfx.$(OBJ) gdevprn.$(OBJ) encode_l.$(OBJ)
  1130. trufax.dev: $(trufax_)
  1131.     $(SHP)gssetdev trufax $(trufax_)
  1132.  
  1133. gdevtrfx.$(OBJ): gdevtrfx.c $(GDEV)
  1134.  
  1135. ###### ----------------------- The X11 device ----------------------- ######
  1136.  
  1137. # Note that this includes some extra libraries to support Ghostview.
  1138. # Xt and Xext are included because on SunOS, some routine in Xmu calls
  1139. # XtMalloc, and something in Xt calls something in Xext, and Sun's
  1140. # dynamic library scheme requires pulling in all 3 libraries.
  1141. # On other operating systems, only Xmu is needed.
  1142.  
  1143. # Aladdin Enterprises does not support Ghostview.  For more information
  1144. # about Ghostview, contact Tim Theisen (ghostview@cs.wisc.edu).
  1145.  
  1146. x11_=gdevx.$(OBJ) gdevxini.$(OBJ)
  1147. x11.dev: $(x11_)
  1148.     $(SHP)gssetdev x11 $(x11_)
  1149.     $(SHP)gsaddmod x11 -lib Xmu Xt Xext X11
  1150.  
  1151. # See the main makefile for the definition of XINCLUDE.
  1152. GDEVX=$(GDEV) x_.h gdevx.h $(MAKEFILE)
  1153. gdevx.$(OBJ): gdevx.c $(GDEVX)
  1154.     $(CCC) $(XINCLUDE) gdevx.c
  1155.  
  1156. gdevxini.$(OBJ): gdevxini.c $(GDEVX)
  1157.     $(CCC) $(XINCLUDE) gdevxini.c
  1158.  
  1159. ### ---------------------- The bit bucket device ----------------------- ###
  1160.  
  1161. bit_=gdevbit.$(OBJ) gdevprn.$(OBJ)
  1162. bit.dev: $(bit_)
  1163.     $(SHP)gssetdev bit $(bit_)
  1164.  
  1165. gdevbit.$(OBJ): gdevbit.c $(PDEVH)
  1166. #    Copyright (C) 1990, 1992 Aladdin Enterprises.  All rights reserved.
  1167. #    Distributed by Free Software Foundation, Inc.
  1168. #
  1169. # This file is part of Ghostscript.
  1170. #
  1171. # Ghostscript is distributed in the hope that it will be useful, but
  1172. # WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
  1173. # to anyone for the consequences of using it or for whether it serves any
  1174. # particular purpose or works at all, unless he says so in writing.  Refer
  1175. # to the Ghostscript General Public License for full details.
  1176. #
  1177. # Everyone is granted permission to copy, modify and redistribute
  1178. # Ghostscript, but only under the conditions described in the Ghostscript
  1179. # General Public License.  A copy of this license is supposed to have been
  1180. # given to you along with Ghostscript so you can know your rights and
  1181. # responsibilities.  It should be in a file named COPYING.  Among other
  1182. # things, the copyright notice and this notice must be preserved on all
  1183. # copies.
  1184.  
  1185. # Partial makefile for Ghostscript, common to all Unix configurations.
  1186.  
  1187. # This is the last part of the makefile for Unix configurations.
  1188. # Since Unix make doesn't have an 'include' facility, we concatenate
  1189. # the various parts of the makefile together by brute force (in tar_cat).
  1190.  
  1191. # The following prevents GNU make from constructing argument lists that
  1192. # include all environment variables, which can easily be longer than
  1193. # brain-damaged system V allows.
  1194.  
  1195. .NOEXPORT:
  1196.  
  1197. # -------------------------------- Library -------------------------------- #
  1198.  
  1199. ## The Unix platform
  1200.  
  1201. unix__=gp_unix.$(OBJ)
  1202. unix_.dev: $(unix__)
  1203.     $(SHP)gssetmod unix_ $(unix__)
  1204.  
  1205. gp_unix.$(OBJ): gp_unix.c $(memory__h) $(string__h) $(gx_h) $(gp_h) \
  1206.  $(stat__h) $(time__h)
  1207.  
  1208. # -------------------------- Auxiliary programs --------------------------- #
  1209.  
  1210. ansi2knr$(XE):
  1211.     $(CC) -o ansi2knr$(XE) $(CFLAGS) ansi2knr.c $(EXTRALIBS)
  1212.  
  1213. genarch$(XE): genarch.c
  1214.     $(CC) -o genarch$(XE) $(CFLAGS) genarch.c $(EXTRALIBS)
  1215.  
  1216. # ----------------------------- Main program ------------------------------ #
  1217.  
  1218. # (Dummy) tracing package
  1219.  
  1220. utrace.$(OBJ): utrace.c
  1221.  
  1222. # Main program
  1223.  
  1224. ALLUNIX=gsmain.$(OBJ) utrace.$(OBJ) $(LIB)
  1225.  
  1226. # Interpreter main program
  1227.  
  1228. GSUNIX=gs.$(OBJ) $(INT) $(ALLUNIX)
  1229.  
  1230. gs: $(GSUNIX) obj.tr lib.tr
  1231.     $(SHP)echoq $(CC) $(LDFLAGS) $(XLIBDIRS) -o gs $(GSUNIX) >_temp_
  1232.     cat obj.tr >>_temp_
  1233.     cat lib.tr >>_temp_
  1234.     echo $(EXTRALIBS) -lm >>_temp_
  1235.     $(SH) <_temp_
  1236.  
  1237. # Installation
  1238.  
  1239. TAGS:
  1240.     etags -t *.c *.h
  1241.  
  1242. install: gs
  1243.     -mkdir $(bindir)
  1244.     $(INSTALL_PROGRAM) gs $(bindir)
  1245.     $(INSTALL_PROGRAM) gsnd $(bindir)
  1246.     $(INSTALL_PROGRAM) bdftops $(bindir)
  1247.     $(INSTALL_PROGRAM) font2c $(bindir)
  1248.     $(INSTALL_PROGRAM) pfbtogs $(bindir)
  1249.     -mkdir $(libdir)
  1250.     $(INSTALL_DATA) gs_init.ps $(libdir)
  1251.     $(INSTALL_DATA) gs_2asc.ps $(libdir)
  1252.     $(INSTALL_DATA) gs_ccfnt.ps $(libdir)
  1253.     $(INSTALL_DATA) gs_dps1.ps $(libdir)
  1254.     $(INSTALL_DATA) gs_fonts.ps $(libdir)
  1255.     $(INSTALL_DATA) gs_lev2.ps $(libdir)
  1256.     $(INSTALL_DATA) gs_statd.ps $(libdir)
  1257.     $(INSTALL_DATA) sym__enc.ps $(libdir)
  1258.     $(INSTALL_DATA) gconfig.ps $(libdir)
  1259.     $(INSTALL_DATA) quit.ps $(libdir)
  1260.     $(INSTALL_DATA) Fontmap $(libdir)
  1261.     $(INSTALL_DATA) uglyr.gsf $(libdir)
  1262.     $(INSTALL_DATA) chess.ps $(libdir)
  1263.     $(INSTALL_DATA) cheq.ps $(libdir)
  1264.     $(INSTALL_DATA) golfer.ps $(libdir)
  1265.     $(INSTALL_DATA) escher.ps $(libdir)
  1266.     $(INSTALL_DATA) decrypt.ps $(libdir)
  1267.     $(INSTALL_DATA) bdftops.ps $(libdir)
  1268.     $(INSTALL_DATA) font2c.ps $(libdir)
  1269.     $(INSTALL_DATA) pfbtogs.ps $(libdir)
  1270.     $(INSTALL_DATA) pstoppm.ps $(libdir)
  1271.     $(INSTALL_DATA) prfont.ps $(libdir)
  1272.